join_to_text

pure function join_to_text([separator: text], [prefix: text], [postfix: text], [limit: integer?], [truncated: text], [transform: ((K, V)) -> text]): text

Generate a textual representation of this iterable.

An optional separator, prefix and postfix can be provided. One can also provide a limit: integer?. If there are more elements in the result than limit, the elements whose indices exceed limit are omitted, and the passed truncated: text is included instead.

Examples:

  • [1, 2, 3].join_to_text() returns '1, 2, 3'.

  • [1, 2, 3].join_to_text('_') returns '1_2_3'.

  • [1, 2, 3].join_to_text('*', '(', ')') returns '(1*2*3)'.

  • list<T>().join_to_text('!', '(', ')') returns '()' (where T is a valid type).

  • range(10).join_to_text('', '', '', 5) returns '01234...'.

  • range(10).join_to_text('', '', '', 5, 'more') returns '01234more'.

Where the function even is defined:

function even(x: integer): text {
return if (x % 2 == 0) 'EVEN' else 'ODD';
}

Then:

  • range(10).join_to_text('->', '{', '}', 5, '...', even(*)) returns {EVEN->ODD->EVEN->ODD->EVEN->...}.

Return

a textual representation of this iterable

Since

0.13.10

Parameters

separator

the separator between the elements, defaults to ', '

prefix

the prefix text, default empty

postfix

the postfix text, default empty

limit

The maximum number of elements to include in the result. If the number of elements exceeds limit, the value of the truncated argument is appended (after the last separator occurrence and before the postfix). Defaults to null, meaning no limit.

truncated

the text to be appended if the number of elements is greater than limit, defaults to '...'

transform

a transformation function to apply to each element before joining, defaults to to_text()